package com.base.po.novice;

import java.util.ArrayList;
import java.util.List;

public class NoviceClassExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public NoviceClassExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andNcIdIsNull() {
            addCriterion("nc_id is null");
            return (Criteria) this;
        }

        public Criteria andNcIdIsNotNull() {
            addCriterion("nc_id is not null");
            return (Criteria) this;
        }

        public Criteria andNcIdEqualTo(String value) {
            addCriterion("nc_id =", value, "ncId");
            return (Criteria) this;
        }

        public Criteria andNcIdNotEqualTo(String value) {
            addCriterion("nc_id <>", value, "ncId");
            return (Criteria) this;
        }

        public Criteria andNcIdGreaterThan(String value) {
            addCriterion("nc_id >", value, "ncId");
            return (Criteria) this;
        }

        public Criteria andNcIdGreaterThanOrEqualTo(String value) {
            addCriterion("nc_id >=", value, "ncId");
            return (Criteria) this;
        }

        public Criteria andNcIdLessThan(String value) {
            addCriterion("nc_id <", value, "ncId");
            return (Criteria) this;
        }

        public Criteria andNcIdLessThanOrEqualTo(String value) {
            addCriterion("nc_id <=", value, "ncId");
            return (Criteria) this;
        }

        public Criteria andNcIdLike(String value) {
            addCriterion("nc_id like", value, "ncId");
            return (Criteria) this;
        }

        public Criteria andNcIdNotLike(String value) {
            addCriterion("nc_id not like", value, "ncId");
            return (Criteria) this;
        }

        public Criteria andNcIdIn(List<String> values) {
            addCriterion("nc_id in", values, "ncId");
            return (Criteria) this;
        }

        public Criteria andNcIdNotIn(List<String> values) {
            addCriterion("nc_id not in", values, "ncId");
            return (Criteria) this;
        }

        public Criteria andNcIdBetween(String value1, String value2) {
            addCriterion("nc_id between", value1, value2, "ncId");
            return (Criteria) this;
        }

        public Criteria andNcIdNotBetween(String value1, String value2) {
            addCriterion("nc_id not between", value1, value2, "ncId");
            return (Criteria) this;
        }

        public Criteria andNcTitleIsNull() {
            addCriterion("nc_title is null");
            return (Criteria) this;
        }

        public Criteria andNcTitleIsNotNull() {
            addCriterion("nc_title is not null");
            return (Criteria) this;
        }

        public Criteria andNcTitleEqualTo(String value) {
            addCriterion("nc_title =", value, "ncTitle");
            return (Criteria) this;
        }

        public Criteria andNcTitleNotEqualTo(String value) {
            addCriterion("nc_title <>", value, "ncTitle");
            return (Criteria) this;
        }

        public Criteria andNcTitleGreaterThan(String value) {
            addCriterion("nc_title >", value, "ncTitle");
            return (Criteria) this;
        }

        public Criteria andNcTitleGreaterThanOrEqualTo(String value) {
            addCriterion("nc_title >=", value, "ncTitle");
            return (Criteria) this;
        }

        public Criteria andNcTitleLessThan(String value) {
            addCriterion("nc_title <", value, "ncTitle");
            return (Criteria) this;
        }

        public Criteria andNcTitleLessThanOrEqualTo(String value) {
            addCriterion("nc_title <=", value, "ncTitle");
            return (Criteria) this;
        }

        public Criteria andNcTitleLike(String value) {
            addCriterion("nc_title like", value, "ncTitle");
            return (Criteria) this;
        }

        public Criteria andNcTitleNotLike(String value) {
            addCriterion("nc_title not like", value, "ncTitle");
            return (Criteria) this;
        }

        public Criteria andNcTitleIn(List<String> values) {
            addCriterion("nc_title in", values, "ncTitle");
            return (Criteria) this;
        }

        public Criteria andNcTitleNotIn(List<String> values) {
            addCriterion("nc_title not in", values, "ncTitle");
            return (Criteria) this;
        }

        public Criteria andNcTitleBetween(String value1, String value2) {
            addCriterion("nc_title between", value1, value2, "ncTitle");
            return (Criteria) this;
        }

        public Criteria andNcTitleNotBetween(String value1, String value2) {
            addCriterion("nc_title not between", value1, value2, "ncTitle");
            return (Criteria) this;
        }

        public Criteria andNcPicIsNull() {
            addCriterion("nc_pic is null");
            return (Criteria) this;
        }

        public Criteria andNcPicIsNotNull() {
            addCriterion("nc_pic is not null");
            return (Criteria) this;
        }

        public Criteria andNcPicEqualTo(String value) {
            addCriterion("nc_pic =", value, "ncPic");
            return (Criteria) this;
        }

        public Criteria andNcPicNotEqualTo(String value) {
            addCriterion("nc_pic <>", value, "ncPic");
            return (Criteria) this;
        }

        public Criteria andNcPicGreaterThan(String value) {
            addCriterion("nc_pic >", value, "ncPic");
            return (Criteria) this;
        }

        public Criteria andNcPicGreaterThanOrEqualTo(String value) {
            addCriterion("nc_pic >=", value, "ncPic");
            return (Criteria) this;
        }

        public Criteria andNcPicLessThan(String value) {
            addCriterion("nc_pic <", value, "ncPic");
            return (Criteria) this;
        }

        public Criteria andNcPicLessThanOrEqualTo(String value) {
            addCriterion("nc_pic <=", value, "ncPic");
            return (Criteria) this;
        }

        public Criteria andNcPicLike(String value) {
            addCriterion("nc_pic like", value, "ncPic");
            return (Criteria) this;
        }

        public Criteria andNcPicNotLike(String value) {
            addCriterion("nc_pic not like", value, "ncPic");
            return (Criteria) this;
        }

        public Criteria andNcPicIn(List<String> values) {
            addCriterion("nc_pic in", values, "ncPic");
            return (Criteria) this;
        }

        public Criteria andNcPicNotIn(List<String> values) {
            addCriterion("nc_pic not in", values, "ncPic");
            return (Criteria) this;
        }

        public Criteria andNcPicBetween(String value1, String value2) {
            addCriterion("nc_pic between", value1, value2, "ncPic");
            return (Criteria) this;
        }

        public Criteria andNcPicNotBetween(String value1, String value2) {
            addCriterion("nc_pic not between", value1, value2, "ncPic");
            return (Criteria) this;
        }

        public Criteria andNcContentIsNull() {
            addCriterion("nc_content is null");
            return (Criteria) this;
        }

        public Criteria andNcContentIsNotNull() {
            addCriterion("nc_content is not null");
            return (Criteria) this;
        }

        public Criteria andNcContentEqualTo(String value) {
            addCriterion("nc_content =", value, "ncContent");
            return (Criteria) this;
        }

        public Criteria andNcContentNotEqualTo(String value) {
            addCriterion("nc_content <>", value, "ncContent");
            return (Criteria) this;
        }

        public Criteria andNcContentGreaterThan(String value) {
            addCriterion("nc_content >", value, "ncContent");
            return (Criteria) this;
        }

        public Criteria andNcContentGreaterThanOrEqualTo(String value) {
            addCriterion("nc_content >=", value, "ncContent");
            return (Criteria) this;
        }

        public Criteria andNcContentLessThan(String value) {
            addCriterion("nc_content <", value, "ncContent");
            return (Criteria) this;
        }

        public Criteria andNcContentLessThanOrEqualTo(String value) {
            addCriterion("nc_content <=", value, "ncContent");
            return (Criteria) this;
        }

        public Criteria andNcContentLike(String value) {
            addCriterion("nc_content like", value, "ncContent");
            return (Criteria) this;
        }

        public Criteria andNcContentNotLike(String value) {
            addCriterion("nc_content not like", value, "ncContent");
            return (Criteria) this;
        }

        public Criteria andNcContentIn(List<String> values) {
            addCriterion("nc_content in", values, "ncContent");
            return (Criteria) this;
        }

        public Criteria andNcContentNotIn(List<String> values) {
            addCriterion("nc_content not in", values, "ncContent");
            return (Criteria) this;
        }

        public Criteria andNcContentBetween(String value1, String value2) {
            addCriterion("nc_content between", value1, value2, "ncContent");
            return (Criteria) this;
        }

        public Criteria andNcContentNotBetween(String value1, String value2) {
            addCriterion("nc_content not between", value1, value2, "ncContent");
            return (Criteria) this;
        }

        public Criteria andNcParentIsNull() {
            addCriterion("nc_parent is null");
            return (Criteria) this;
        }

        public Criteria andNcParentIsNotNull() {
            addCriterion("nc_parent is not null");
            return (Criteria) this;
        }

        public Criteria andNcParentEqualTo(String value) {
            addCriterion("nc_parent =", value, "ncParent");
            return (Criteria) this;
        }

        public Criteria andNcParentNotEqualTo(String value) {
            addCriterion("nc_parent <>", value, "ncParent");
            return (Criteria) this;
        }

        public Criteria andNcParentGreaterThan(String value) {
            addCriterion("nc_parent >", value, "ncParent");
            return (Criteria) this;
        }

        public Criteria andNcParentGreaterThanOrEqualTo(String value) {
            addCriterion("nc_parent >=", value, "ncParent");
            return (Criteria) this;
        }

        public Criteria andNcParentLessThan(String value) {
            addCriterion("nc_parent <", value, "ncParent");
            return (Criteria) this;
        }

        public Criteria andNcParentLessThanOrEqualTo(String value) {
            addCriterion("nc_parent <=", value, "ncParent");
            return (Criteria) this;
        }

        public Criteria andNcParentLike(String value) {
            addCriterion("nc_parent like", value, "ncParent");
            return (Criteria) this;
        }

        public Criteria andNcParentNotLike(String value) {
            addCriterion("nc_parent not like", value, "ncParent");
            return (Criteria) this;
        }

        public Criteria andNcParentIn(List<String> values) {
            addCriterion("nc_parent in", values, "ncParent");
            return (Criteria) this;
        }

        public Criteria andNcParentNotIn(List<String> values) {
            addCriterion("nc_parent not in", values, "ncParent");
            return (Criteria) this;
        }

        public Criteria andNcParentBetween(String value1, String value2) {
            addCriterion("nc_parent between", value1, value2, "ncParent");
            return (Criteria) this;
        }

        public Criteria andNcParentNotBetween(String value1, String value2) {
            addCriterion("nc_parent not between", value1, value2, "ncParent");
            return (Criteria) this;
        }

        public Criteria andNcDatastatusIsNull() {
            addCriterion("nc_dataStatus is null");
            return (Criteria) this;
        }

        public Criteria andNcDatastatusIsNotNull() {
            addCriterion("nc_dataStatus is not null");
            return (Criteria) this;
        }

        public Criteria andNcDatastatusEqualTo(Byte value) {
            addCriterion("nc_dataStatus =", value, "ncDatastatus");
            return (Criteria) this;
        }

        public Criteria andNcDatastatusNotEqualTo(Byte value) {
            addCriterion("nc_dataStatus <>", value, "ncDatastatus");
            return (Criteria) this;
        }

        public Criteria andNcDatastatusGreaterThan(Byte value) {
            addCriterion("nc_dataStatus >", value, "ncDatastatus");
            return (Criteria) this;
        }

        public Criteria andNcDatastatusGreaterThanOrEqualTo(Byte value) {
            addCriterion("nc_dataStatus >=", value, "ncDatastatus");
            return (Criteria) this;
        }

        public Criteria andNcDatastatusLessThan(Byte value) {
            addCriterion("nc_dataStatus <", value, "ncDatastatus");
            return (Criteria) this;
        }

        public Criteria andNcDatastatusLessThanOrEqualTo(Byte value) {
            addCriterion("nc_dataStatus <=", value, "ncDatastatus");
            return (Criteria) this;
        }

        public Criteria andNcDatastatusIn(List<Byte> values) {
            addCriterion("nc_dataStatus in", values, "ncDatastatus");
            return (Criteria) this;
        }

        public Criteria andNcDatastatusNotIn(List<Byte> values) {
            addCriterion("nc_dataStatus not in", values, "ncDatastatus");
            return (Criteria) this;
        }

        public Criteria andNcDatastatusBetween(Byte value1, Byte value2) {
            addCriterion("nc_dataStatus between", value1, value2, "ncDatastatus");
            return (Criteria) this;
        }

        public Criteria andNcDatastatusNotBetween(Byte value1, Byte value2) {
            addCriterion("nc_dataStatus not between", value1, value2, "ncDatastatus");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}